package com.atguigu.observer;

/**
 * @Description: 观察者模式
 * @Author lixiaolong
 * @Date 2023/10/12
 */
public class Client {
    /**
     * 观察者模式
     * 1、多对一的依赖关系，一：是被观察者 多：是观察者
     * 2、被观察者 subject 被观察类里包含多个观察者
     * 3、观察者 observer  接收 subject的变化
     *
     * @param args
     */
    public static void main(String[] args) {
        //创建接入方 currentConditions
        CurrentConditions currentConditions = new CurrentConditions();

        //创建 WeatherData 并将 接入方 currentConditions 传递到 WeatherData中
        // 被观察者  subject
        WeatherData weatherData = new WeatherData(currentConditions);

        //更新天气情况 被观察者发生变化 然后会通知 所有观察者
        weatherData.setData(30, 150, 40);

        //天气情况变化
        System.out.println("============天气情况变化=============");
        weatherData.setData(40, 160, 20);


    }
}
